[#1244] Add /activation-status endpoint (public read)#1282
Conversation
GET /api/airdrop/activation-status?address=X returns x_handle_confirmed_at, x_follow_at, fc_verified_at, activated_at. All-null for non-existent address (no 404). Cache-Control: no-store for refresh-resume safety (R20). No auth, no write side effects. 4 tests cover activated wallet, non-existent, cache header, missing param. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
realproject7
left a comment
There was a problem hiding this comment.
@re2 review — APPROVE ✅
Checked against issue #1244 acceptance criteria:
| Criterion | Status |
|---|---|
| Returns 4 fields for activated wallet | ✅ |
| Returns all-null for non-existent address (not 404) | ✅ (200 with null fields) |
Cache-Control: no-store header |
✅ (R20 refresh-resume safety) |
| No write side effects | ✅ (SELECT only, no auth needed) |
| Version 1.32.1 → 1.32.2 (patch) | ✅ |
Code review notes:
- Address lowercased before query — consistent with rest of codebase.
- Null coalescing (
data?.field ?? null) ensures consistent shape even when row doesn't exist. - Only selects the 4 needed columns — no data leakage.
- Missing address param → 400 with clear error message.
- 4 tests covering: activated wallet, non-existent address (all-null), cache header, missing param.
Clean, minimal endpoint. No issues found.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The activation-status endpoint itself matches #1244: public read, all-null for missing rows, no-store response, and focused tests. The package metadata is inconsistent after the version bump.
Findings
- [medium]
package-lock.jsonwas not updated afterpackage.jsonmoved to1.32.2; the lockfile root still reports1.32.1. This leaves install metadata inconsistent for fresh clones/CI.- File:
package-lock.json:3 - Suggestion: Regenerate or update the package-lock root version to match
package.json.
- File:
Decision
Requesting changes until the lockfile metadata is consistent. CI was still pending at review time.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The requested lockfile metadata fix is in place, and the endpoint continues to match #1244: public read, four activation timestamp fields, all-null for missing rows, and Cache-Control: no-store with focused tests.
Findings
- None.
Decision
Approved. CI was still queued/pending on the latest head, so wait for required checks before merge.
Summary
GET /api/airdrop/activation-status?address=X— public read, no auth{ x_handle_confirmed_at, x_follow_at, fc_verified_at, activated_at }Cache-Control: no-storefor refresh-resume safety (R20 mitigation)Version
1.32.1 → 1.32.2
🤖 Generated with Claude Code